package com.aishua.fire.service;

import java.util.Date;

import com.aishua.fire.entity.account.GraphicCode;
import com.aishua.fire.entity.account.Session;
import com.aishua.fire.entity.login.AppLoginRespInfo;
import com.aishua.fire.entity.login.UserLoginInfo;
import com.aishua.fire.jpa.entity.Account;

public interface LoginService {

	/**
	 * 添加失败的登录历史记录
	 * @param userLoginInfo
	 */
	void addFailLoginHistory(UserLoginInfo userLoginInfo);

	/**
	 * 添加成功的登录历史记录
	 * @param userLoginInfo
	 */
	void addSuccessLoginHistory(UserLoginInfo userLoginInfo);

	/**
	 * 是否验证成功
	 * @param userName
	 * @param userPwd
	 * @return
	 */
	Account authenticateLogin(String userName, String userPwd);


	/**
	 * 修改當前密碼
	 * @param newPwd
	 */
	void updatePwd(String newPwd);

	GraphicCode getCode(String uuid, String validateCode);

	void saveCode(String uuid, String createText);

	void updateSessionInfo(String id, Long loginId, Date expiredDate);

	void updateloginTime(Long loginId);

	void insertSession(long id);

	Session findBySessionId(String sessionId);

	void updateAppSessionInfo(String id, Long loginId);

	Account authenticateAppLogin(String userName, String userPwd);

	AppLoginRespInfo getUserInfo(Long loginId);

	void delSessionInfo(String sessionId);

}
